//
//  FCDataStatisticsEventObject.h
//  FCDataStatisticsSDK
//
//  Created by wangm on 2020/2/10.
//  Copyright © 2020 wangm. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef NS_ENUM(NSUInteger, FCDataStatisticsCollectSourceType) {
    FCDataStatisticsCollectSourceTypeNews,    //新闻
    FCDataStatisticsCollectSourceTypeSpecial, //专题
    FCDataStatisticsCollectSourceTypeLive,    //直播 或 频道
    FCDataStatisticsCollectSourceTypeOther,   //其他
};

typedef NS_ENUM(NSUInteger, FCDataStatisticsForwoardType) {
    FCDataStatisticsForwoardTypeWeiXin, //微信
    FCDataStatisticsForwoardTypeWeiBo,  //微博
    FCDataStatisticsForwoardTypeQQ,     //QQ
    FCDataStatisticsForwoardTypeOther,  //其他
};

//所有事件的父类
@interface FCDataStatisticsEventObject : NSObject

@end

/**
 登录事件对象
 */
@interface FCDataStatisticsLoginEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（也可以是手机号）

@property (nonatomic, assign) int operateType; //1、登入    2、退出

@end

/**
 资源访问事件对象
 */
@interface FCDataStatisticsAccessSourceEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceName; //资源名称（例如访问新闻则是新闻标题，或是进入页面的名称）

@property (nonatomic, copy) NSString *sourceId; //资源id

@property (nonatomic, assign) BOOL action; //是否是进入页面. 进入页面为YES，退出页面为NO

@property (nonatomic, copy) NSString *channelId; //所属页面ID

@property (nonatomic, assign) int timeLength; //访问时长

@property (nonatomic, assign) int sourceType; //0 新闻点播（视频）， 1 专题， 2 直播/频道（互动直播），3、电视直播4、资讯（稿件） 5、广播电台  6、爆料 7、问政 8、积分商城  9、微头条、10社交、11、广告 12 其他

@property (nonatomic, copy) NSString *offtime; //退出时间，格式时间戳，退出类型的时候使用

@property (nonatomic, copy) NSString *path; //访问路径

@property (nonatomic, copy) NSString *summary; //摘要

@end

/**
 收藏事件对象
 */
@interface FCDataStatisticsCollectEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceName; //资源名称

@property (nonatomic, copy) NSString *sourceId; //资源名称

//@property (nonatomic, assign) SCStatisticsCollectSourceType sourceType; //资源类型

@property (nonatomic, assign) BOOL operationType; //是否为收藏. 收藏为YES，取消收藏为NO

@property (nonatomic, assign) int sourceType; //0 新闻点播（视频）， 1 专题， 2 直播/频道（互动直播），3、电视直播4、资讯（稿件） 5、广播电台  6、爆料 7、问政 8、积分商城  9、微头条、10社交、11、广告 12 其他
@end

/**
 评论事件对象
 */
@interface FCDataStatisticsCommentEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceName; //资源名称（例如访问新闻则是新闻标题，或是进入页面的名称）

@property (nonatomic, copy) NSString *sourceId; //资源id

@property (nonatomic, copy) NSString *commentDetail; //评论内容

@property (nonatomic, assign) int sourceType; //0 新闻点播（视频）， 1 专题， 2 直播/频道（互动直播），3、电视直播4、资讯（稿件） 5、广播电台  6、爆料 7、问政 8、积分商城  9、微头条、10社交、11、广告 12 其他

@end

/**
 转发事件对象
 */
@interface FCDataStatisticsForwoardEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceName; //资源名称（例如访问新闻则是新闻标题，或是进入页面的名称）

@property (nonatomic, copy) NSString *sourceId; //资源id

@property (nonatomic, assign) FCDataStatisticsForwoardType shareType; //分享渠道

@property (nonatomic, assign) int sourceType; //0 新闻点播（视频）， 1 专题， 2 直播/频道（互动直播），3、电视直播4、资讯（稿件） 5、广播电台  6、爆料 7、问政 8、积分商城  9、微头条、10社交、11、广告 12 其他

@end

/**
 点赞事件对象
 */
@interface FCDataStatisticsThumbsUpEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceName; //资源名称（例如访问新闻则是新闻标题，或是进入页面的名称）

@property (nonatomic, copy) NSString *sourceId; //资源id

@property (nonatomic, assign) BOOL operationType; //是否点赞. 点赞为YES，取消点赞为NO

@property (nonatomic, assign) int sourceType; //0 新闻点播（视频）， 1 专题， 2 直播/频道（互动直播），3、电视直播4、资讯（稿件） 5、广播电台  6、爆料 7、问政 8、积分商城  9、微头条、10社交、11、广告 12 其他

@end

/**
 直播事件对象
 */
@interface FCDataStatisticsLiveEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceName; //资源名称（例如访问新闻则是新闻标题，或是进入页面的名称）

@property (nonatomic, copy) NSString *sourceId; //资源id

@property (nonatomic, assign) NSInteger heartbeatLength; //心跳

@property (nonatomic, assign) NSInteger liveType; //1、普通直播 2、互动直播、3、电台直播、4、电视直播、5、慢直播、

@property (nonatomic, assign) int totalTime; //直播总时长，单位秒（普通直播、互动直播使用）

@property (nonatomic, assign) NSInteger offtime; //退出时间，格式时间戳

@end


/**
 搜索事件对象
 */
@interface FCDataStatisticsSearchEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *content; //搜索内容

@end

/**
 视频事件对象
 */
@interface FCDataStatisticsVedioEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceName; //资源名称（例如访问新闻则是新闻标题，或是进入页面的名称）

@property (nonatomic, copy) NSString *sourceId; //资源id

@property (nonatomic, assign) NSInteger contentLength; //视频时长（单位：秒）

@property (nonatomic, assign) BOOL isComplete; //是否播放完成

@end

/**
 app退出事件对象
 */
@interface FCDataStatisticsAppTerminateEvent : FCDataStatisticsEventObject

@property (nonatomic, assign) int timeLength; //访问时长

@property (nonatomic, assign) int startTime; //启动时间，时间戳，单位秒
@end

/**
 app发布爆料事件对象
 */
@interface FCDataStatisticsReportEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户名（非必传）

@property (nonatomic, copy) NSString *sourceContent; //爆料内容详情

@property (nonatomic, copy) NSString *sourceId; //发表内容id

@property (nonatomic, copy) NSString *blTitle; //爆料内容标题

@property (nonatomic, assign) NSInteger sourceType; //0 新闻点播（视频）， 1 专题， 2 直播/频道（互动直播），3、电视直播4、资讯（稿件） 5、广播电台  6、爆料 7、问政 8、积分商城  9、微头条、10社交、11、广告 12 其他

@end

/**
 页面访问事件对象
 */
@interface FCDataStatisticsAccessPageEvent : FCDataStatisticsEventObject

@property (nonatomic, copy) NSString *userId; //用户id

@property (nonatomic, copy) NSString *sourceName; //页面名称

@property (nonatomic, copy) NSString *sourceId; //访问页面id

@property (nonatomic, assign) BOOL action; //是否是进入页面. 进入页面为YES，退出页面为NO

@property (nonatomic, assign) int timeLength; //访问时长

@property (nonatomic, assign) int isHome; //是否首页,0不是,1是

@property (nonatomic, assign) int operateType; //1、前台访问  2、后台访问

@property (nonatomic, assign) int sourceType; //0 新闻点播（视频）， 1 专题， 2 直播/频道（互动直播），3、电视直播4、资讯（稿件） 5、广播电台  6、爆料 7、问政 8、积分商城  9、微头条、10社交、11、广告 12 其他

@property (nonatomic, copy) NSString *sourcePage; //进入页面ID，从A页面跳转到当前页面B，这个地方填A的ID，如果没有则空

@property (nonatomic, copy) NSString *pChannel; //所属栏目 ID

@end
NS_ASSUME_NONNULL_END
